#pragma once
//#include "ogreroot.h"
//#include "ogrelogmanager.h"
//#include "ogreresourcegroupmanager.h"

using namespace Ogre;
using namespace OgreMax;
using namespace NXU;

namespace MoeWare
{
	typedef GeneralAllocatedObject ConsoleAlloc;
	class Console: public Singleton<Console>, public ConsoleAlloc, public FrameListener
	{
	public:
		Console(const String defaultTitle);
		virtual ~Console(void);
	private:
		const String _PluginsFilePath;
		const String _ConfiguresFilePath;
		const String _ResourcesFilePath;
		const String _LogFilePath;

		OgreMax::OgreMaxScene _OgreMaxScene;
		NxuPhysicsCollection* _PhysicsCollection;

		ManualObject* _PhysXDebugRender;
	private:
		void temp();
		void LoadOgreMaxTest();
		void LoadPhysXTest();

		void InitialResourceManager();

	public:
		virtual bool frameStarted(const FrameEvent& evt);
		virtual bool frameRenderingQueued(const FrameEvent& evt);
		virtual bool frameEnded(const FrameEvent& evt);
	};
}
